# 今日练习：
# 1. 利用列表实现一个用户的注册功能。
# 2. 利用已注册的用户名和密码实现登录功能。
# 基本要求：利用两个列表，一个放用户名，一个放密码，下标位置对应上。同时注册时，需要确认是否用户名已经存在，利用函数来组织代码。
# 扩展要求：把两个列表减少为一个列表，完成同样的功能。列表中的列表。
# 如果需要存第三个值，如电话号码呢？请问怎么做比较好？

user_list = ['hello', 'woniu', 'good']
pass_list = ['111', '222', '333']

# 往两个列表中写数据
def reg():
    username = input("请输入用户名[注册]：")
    password = input('请输入密码[注册]：')

    if check(username) >= 0:
        print("你注册的用户名已经存在.")
    else:
        print("恭喜你，用户名可用.")
        user_list.append(username)
        pass_list.append(password)
        print("恭喜你，注册成功.")


# 从列表中读取数据
def login():
    # global user_list        # 在局部变量中，如果需要修改全局变量，则必须使用global对该变量进行声明。
    # user_list = [1, 2, 3, 4, 5]
    username = input("请输入用户名[登录]：")
    password = input('请输入密码[登录]：')

    index = check(username)
    if index >= 0:
        if pass_list[index] == password:
            print("恭喜你，登录成功.")
        else:
            print("抱歉，密码输入错误.")
    else:
        print("抱歉，登录用户名不存在.")
        # login()   # 递归调用函数自身，实现死循环操作


# 检查一个用户名是否存在，存在则返回下标，不存在则返回-1
def check(username):
    for i in range(len(user_list)):
        if user_list[i] == username:
            return i

    return -1

# 根据用户名寻找下标
# def find(username):
#     for i in range(len(user_list)):
#         if user_list[i] == username:
#             return i
#
#     return -1


reg()
login()